![]() | VIDA ARTIFICIAL |
Regla | Antes | Después |
1. Una célula viva con 2 o 3 células vecinas vivas sobrevive | ![]() | ![]() |
2. Una célula muerta con 3 células vecinas vivas revive | ![]() | ![]() |
3a. Una célula viva con menos de 2 células vecinas vivas muere | ![]() | ![]() |
3b. Una célula viva con más de 3 células vecinas vivas muere | ![]() | ![]() |
![]() |
Pentominó-r |
![]() |
![]() |
Una bioforma y sus 8 descendientes |
![]() |
Santo Grial y Árbol de Navidad |
![]() |
Diablo y La reina de las arañas |
// Asignamos un valor “0” a una célula muerta (blanca) y “1” a una célula viva (negra).
// c1 es la matriz bidimensional de células de n×n elementos.
// c2 es la matriz en el instante siguiente.
// valores inciales
(n = 1000) // semidimensión (horizontal y vertical) de la tabla de celdas
(m = 1000) // número de iteraciones
(k = [−n…n]°)
[(c1(k k) = 0)] // poner inicialmente la matriz a ceros
( c1(00) = 1 ) // configuración inicial de células vivas
...
presentar(c1) // presentar c1 en pantalla
〈( vecinas(i j) = c1(i j+1) + c1(i j-1) +
c1(i-1 j) + c1(i+1 j) +
c1(i-1 j-1) + c1(i-1 j+1) +
c1(i+1 j-1) + c1(i+1 j+1) )〉
// bucle (m iteraciones)
[ (i=[1…m])
[i=k j=k
( (c1(i j) = 1) → (vecinas(i j) = ⌊2 3⌋) →
(c2(i j) = c1(i j)) )
( (c1(i j) = 0) → (vecinas(i j) = 3) →
(c2(i j) = 1) )
( (c1(i j) = 1) → (c2(i j) = 0) )
]
[ i=k j=k (c1(i j) = c2(i j)) ] // hacer c1 = c2
presentar(c2) // presentar c2 en pantalla
]
c1
y c2
son iguales.
(dx dy)
.